The present invention relates in general to adjustable-bandwidth digital filters used in digital signal processing, and, more specifically, to designing polynomials to generate filter coefficient values at various filter cutoff frequencies to be used for slewing the bandwidth of a digital filter.
Digital filters manipulate discrete samples of an input signal to produce a filtered output signal. Various filter structures are known in the art, such as those for finite impulse-response (FIR) filters and infinite impulse-response (IIR) filters. Higher order IIR filters (which provide more selectivity) are typically implemented using a plurality of lower order filters connected in cascade.
During processing of a signal, it may become necessary to change the filtering of the signal (e.g., a change in bandwidth, passband characteristic, group delay, or other filter parameters). To minimize hardware and/or software requirements, it is desirable to use the same filter structure before and after the change by merely changing the digital filter coefficients.
In a digital signal processing (DSP) radio receiver, for example, a digital channel filter is applied to an intermediate frequency (IF) signal to select the desired signal and reject other broadcast signals. A wide or a narrow passband may be used for the channel filter depending upon the presence of interfering adjacent or alternate channel broadcast signals. When switching between the two bandwidths by switching between two coefficient sets in a DSP filter, the sudden change in bandwidth may be noticeable to the listener and may lead to a perception of poor quality. Audio processing elements in the signal chain, such as an automatic gain control (AGC) loop or a stereo decoder, may malfunction due to the transients and would generate further degradation of the reproduced audio.
As described in co-pending application U.S. Ser. No. 09/382,727, a more gradual change in bandwidth (and thus a reduction of switching effects) can be realized by slewing the filter coefficients through a series of steps rather than hard switching directly between the wide and narrow bandwidths. However, computation requirements or storage requirements for generating a number of distinct filters with the desired characteristics has been undesirably large.